//
// Temple (MP)
//

#include "stagesetup.h"

extern s32 intro[];
extern u32 props[];
extern struct path paths[];
extern struct ailist ailists[];

struct stagesetup setup = {
	NULL,
	NULL,
	NULL,
	intro,
	props,
	paths,
	ailists,
	NULL,
};

u32 props[] = {
	weapon(0x0100, 0x0000, PAD_JUN_0093, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION00)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_009D, OBJFLAG_FALL, 0, 0, 1000)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_009E, OBJFLAG_FALL, 0, 0, 1000)
	weapon(0x0100, 0x0000, PAD_JUN_0094, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION01)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_009F, OBJFLAG_FALL, 0, 0, 1000)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00A0, OBJFLAG_FALL, 0, 0, 1000)
	weapon(0x0100, 0x0000, PAD_JUN_0095, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION02)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00A1, OBJFLAG_FALL, 0, 0, 1000)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00A2, OBJFLAG_FALL, 0, 0, 1000)
	weapon(0x0100, 0x0000, PAD_JUN_0096, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION03)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00A3, OBJFLAG_FALL, 0, 0, 1000)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00A4, OBJFLAG_FALL, 0, 0, 1000)
	weapon(0x0100, 0x0000, PAD_JUN_0097, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION04)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00A5, OBJFLAG_FALL, 0, 0, 1000)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00A6, OBJFLAG_FALL, 0, 0, 1000)
	weapon(0x0100, 0x0000, PAD_JUN_0098, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION05)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00A7, OBJFLAG_FALL, 0, 0, 1000)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00A8, OBJFLAG_FALL, 0, 0, 1000)
	weapon(0x0100, 0x0000, PAD_JUN_0099, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION06)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00AA, OBJFLAG_FALL, 0, 0, 1000)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00A9, OBJFLAG_FALL, 0, 0, 1000)
	weapon(0x0100, 0x0000, PAD_JUN_009A, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION07)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00AB, OBJFLAG_FALL, 0, 0, 1000)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00AC, OBJFLAG_FALL, 0, 0, 1000)
	weapon(0x0100, 0x0000, PAD_JUN_009B, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION08)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00AD, OBJFLAG_FALL, 0, 0, 1000)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00AE, OBJFLAG_FALL, 0, 0, 1000)
	weapon(0x0100, 0x0000, PAD_JUN_009C, OBJFLAG_FALL, 0, 0, WEAPON_MPLOCATION09)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00AF, OBJFLAG_FALL, 0, 0, 1000)
	ammocratemulti(0x0100, MODEL_MULTI_AMMO_CRATE, PAD_JUN_00B0, OBJFLAG_FALL, 0, 0, 1000)
	door(0x0100, MODEL_TDOOR, PAD_JUN_008D, OBJFLAG_DEACTIVATED, OBJFLAG2_DOOR_ALTCOORDSYSTEM, 0, 1000, 0x0000f333, 0x0000551e, 0x00002aaa, 0x00002aaa, 0x000000da, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x00001000)
	door(0x0100, MODEL_TDOOR, PAD_JUN_008E, OBJFLAG_DEACTIVATED, OBJFLAG2_DOOR_ALTCOORDSYSTEM, 0, 1000, 0x0000f333, 0x0000551e, 0x00002aaa, 0x00002aaa, 0x000000da, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x00001000)
	door(0x0100, MODEL_TDOOR, PAD_JUN_008F, OBJFLAG_DEACTIVATED, OBJFLAG2_DOOR_ALTCOORDSYSTEM, 0, 1000, 0x0000f333, 0x0000551e, 0x00002aaa, 0x00002aaa, 0x000000da, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x00001000)
	door(0x0100, MODEL_TDOOR, PAD_JUN_0090, OBJFLAG_DEACTIVATED, OBJFLAG2_DOOR_ALTCOORDSYSTEM, 0, 1000, 0x0000f333, 0x0000551e, 0x00002aaa, 0x00002aaa, 0x000000da, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x00001000)
	door(0x0100, MODEL_TDOOR, PAD_JUN_0091, OBJFLAG_DEACTIVATED, OBJFLAG2_DOOR_ALTCOORDSYSTEM, 0, 1000, 0x0000f333, 0x0000551e, 0x00002aaa, 0x00002aaa, 0x000000da, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x00001000)
	door(0x0100, MODEL_TDOOR, PAD_JUN_0092, OBJFLAG_DEACTIVATED, OBJFLAG2_DOOR_ALTCOORDSYSTEM, 0, 1000, 0x0000f333, 0x0000551e, 0x00002aaa, 0x00002aaa, 0x000000da, DOORFLAG_0004, DOORTYPE_VERTICAL, 0x00000000, 0x000005dc, 0x00000000, 0x00000000, 0x00001000)
	endprops
};

s32 intro[] = {
	spawn(PAD_JUN_001C)
	spawn(PAD_JUN_001D)
	spawn(PAD_JUN_001E)
	spawn(PAD_JUN_001F)
	spawn(PAD_JUN_0020)
	spawn(PAD_JUN_0021)
	spawn(PAD_JUN_0022)
	spawn(PAD_JUN_0023)
	spawn(PAD_JUN_0024)
	spawn(PAD_JUN_0025)
	spawn(PAD_JUN_0026)
	spawn(PAD_JUN_0027)
	case(0, PAD_JUN_0006)
	case_respawn(0, PAD_JUN_0000)
	case_respawn(0, PAD_JUN_0001)
	case_respawn(0, PAD_JUN_0002)
	case_respawn(0, PAD_JUN_0003)
	case_respawn(0, PAD_JUN_0004)
	case_respawn(0, PAD_JUN_0005)
	case(1, PAD_JUN_000D)
	case_respawn(1, PAD_JUN_0007)
	case_respawn(1, PAD_JUN_0008)
	case_respawn(1, PAD_JUN_0009)
	case_respawn(1, PAD_JUN_000A)
	case_respawn(1, PAD_JUN_000B)
	case_respawn(1, PAD_JUN_000C)
	case(2, PAD_JUN_0014)
	case_respawn(2, PAD_JUN_000E)
	case_respawn(2, PAD_JUN_000F)
	case_respawn(2, PAD_JUN_0010)
	case_respawn(2, PAD_JUN_0011)
	case_respawn(2, PAD_JUN_0012)
	case_respawn(2, PAD_JUN_0013)
	case(3, PAD_JUN_0015)
	case_respawn(3, PAD_JUN_0016)
	case_respawn(3, PAD_JUN_0017)
	case_respawn(3, PAD_JUN_0018)
	case_respawn(3, PAD_JUN_0019)
	case_respawn(3, PAD_JUN_001A)
	case_respawn(3, PAD_JUN_001B)
	hill(PAD_JUN_0072)
	hill(PAD_JUN_005A)
	hill(PAD_JUN_0080)
	hill(PAD_JUN_007A)
	outfit(OUTFIT_DEFAULT)
	endintro
};

s32 path00[] = {
	-1,
};

struct path paths[] = {
	{ NULL, 0, 0 },
};

u8 unregistered_func1[] = {
	endlist
};

u8 func1000_1898[] = {
	mp_init_simulants
	rebuild_teams
	rebuild_squadrons
	set_ailist(CHR_SELF, GAILIST_IDLE)
	endlist
};

struct ailist ailists[] = {
	{ func1000_1898, 0x1000 },
	{ NULL, 0 },
};
